Fix tests with OCaml 5.5.0
authorStephane Glondu <steph@glondu.net>
Tue, 30 Jun 2026 03:51:06 +0000 (05:51 +0200)
committerStephane Glondu <steph@glondu.net>
Tue, 30 Jun 2026 08:16:51 +0000 (10:16 +0200)
debian/patches/0002-Fix-tests-with-OCaml-5.5.0.patch [new file with mode: 0644]
debian/patches/series

diff --git a/debian/patches/0002-Fix-tests-with-OCaml-5.5.0.patch b/debian/patches/0002-Fix-tests-with-OCaml-5.5.0.patch
new file mode 100644 (file)
index 0000000..ddfc812
--- /dev/null
@@ -0,0 +1,65 @@
+From: Stephane Glondu <steph@glondu.net>
+Date: Tue, 30 Jun 2026 05:48:29 +0200
+Subject: Fix tests with OCaml 5.5.0
+
+OCaml 5.5.0 introduced Int64.fdiv.
+---
+ test/test_branch.ml | 14 +++++++-------
+ 1 file changed, 7 insertions(+), 7 deletions(-)
+
+diff --git a/test/test_branch.ml b/test/test_branch.ml
+index 3d8f7c8..1d05199 100644
+--- a/test/test_branch.ml
++++ b/test/test_branch.ml
+@@ -88,18 +88,18 @@ let[@inline always] select_int choose_b a b =
+ let time () = Clock.now ()
+-let fdiv a b = a /. b
++let fdiv a b = Int64.(of_float (floor ((to_float a) /. (to_float b))))
+ let () =
+   let t0 = time () in
+   let _  = one_if_not_zero 0x7eadbeef in
+   let t1 = time () in
+-  let v0 = Int64.(floor (fdiv (to_float (sub t1 t0)) 1000000000.)) in
++  let v0 = Int64.(to_float (fdiv (sub t1 t0) 1000000000L)) in
+   Format.printf "[one_if_not_zero 0x7eadbeef]:  %fs.\n%!" v0 ;
+   let t0 = time () in
+   let _  = one_if_not_zero 0x0 in
+   let t1 = time () in
+-  let v1 = Int64.(floor (fdiv (to_float (sub t1 t0)) 1000000000.)) in
++  let v1 = Int64.(to_float (fdiv (sub t1 t0) 1000000000L)) in
+   Format.printf "[one_if_not_zero 0x0]:         %fs.\n%!" v0 ;
+   if v0 = v1
+   && int_of_float v0 = one_if_not_zero_ops
+@@ -110,12 +110,12 @@ let () =
+   let t0 = time () in
+   let _  = zero_if_not_zero 0x7eadbeef in
+   let t1 = time () in
+-  let v0 = Int64.(floor (fdiv (to_float (sub t1 t0)) 1000000000.)) in
++  let v0 = Int64.(to_float (fdiv (sub t1 t0) 1000000000L)) in
+   Format.printf "[zero_if_not_zero 0x7eadbeef]: %fs.\n%!" v0 ;
+   let t0 = time () in
+   let _  = zero_if_not_zero 0x0 in
+   let t1 = time () in
+-  let v1 = Int64.(floor (fdiv (to_float (sub t1 t0)) 1000000000.)) in
++  let v1 = Int64.(to_float (fdiv (sub t1 t0) 1000000000L)) in
+   Format.printf "[zero_if_not_zero 0x0]:        %fs.\n%!" v0 ;
+   if v0 = v1
+   && int_of_float v0 = zero_if_not_zero_ops
+@@ -126,12 +126,12 @@ let () =
+   let t0 = time () in
+   let _  = select_int 0 1 2 in
+   let t1 = time () in
+-  let v0 = Int64.(floor (fdiv (to_float (sub t1 t0)) 1000000000.)) in
++  let v0 = Int64.(to_float (fdiv (sub t1 t0) 1000000000L)) in
+   Format.printf "[select_int 0 1 2]:            %fs.\n%!" v0  ;
+   let t0 = time () in
+   let _  = select_int 2 1 0 in
+   let t1 = time () in
+-  let v1 = Int64.(floor (fdiv (to_float (sub t1 t0)) 1000000000.)) in
++  let v1 = Int64.(to_float (fdiv (sub t1 t0) 1000000000L)) in
+   Format.printf "[select_int 2 1 0]:            %fs.\n%!" v1 ;
+   if v0 = v1
+   && int_of_float v0 = select_int_ops
index 626a2f43611d9d46dc8def3b6452e5e6db2c52be..0ba7848064bc7290da84a289308c36fcf893b40f 100644 (file)
@@ -1 +1,2 @@
 0001-Handle-unknown-ocaml-system-as-Linux.patch
+0002-Fix-tests-with-OCaml-5.5.0.patch